package questions

// ShortAnswerQuestion 简答题实现
type ShortAnswerQuestion struct {
	BaseQuestion `json:",inline"`     // 嵌入基础题目结构
	Settings     *ShortAnswerSettings `json:"settings"` // 具体设置
}

// ShortAnswerSettings 简答题设置
type ShortAnswerSettings struct {
	Placeholder  string             `json:"placeholder,omitempty"`  // 提示文本
	MinLength    *int               `json:"minLength,omitempty"`    // 最小长度
	MaxLength    *int               `json:"maxLength,omitempty"`    // 最大长度
	Rows         int                `json:"rows"`                   // 文本框行数
	DefaultValue string             `json:"defaultValue,omitempty"` // 默认值
	RichText     bool               `json:"richText"`               // 是否支持富文本
	Answer       *ShortAnswerAnswer `json:"answer"`                 // 简答题答案
}

// ShortAnswerAnswer 简答题答案
type ShortAnswerAnswer struct {
	Content string `json:"content"` // 回答内容
}

// GetType 获取题目类型
func (s ShortAnswerSettings) GetType() QuestionType {
	return ShortAnswer
}

// GetSettings 方法实现Question接口
func (sq ShortAnswerQuestion) GetSettings() *ShortAnswerSettings {
	return sq.Settings
}
